package ru.susu.algebra.chartable.constructor;


/**
 * @author akargapolov
 * @since: 24.03.2009
 */
public class CharTableConstructorsFactory
{
	/*
	private static SimpleHashMapCache _cache = new SimpleHashMapCache();

	public static String ALTERNATING_KEY = "Alternating";
	public static String SYMMETRIC_KEY = "Symmetric";

	public static AlternatingGroupCharTableConstructor getAlternatingTableConstructor(
			Class<? extends INumberWrapper> valueClass)
	{
		String key = getKey(ALTERNATING_KEY, valueClass);
		if (!_cache.containsKey(key))
		{
			AlternatingGroupCharTableConstructor constructor = new AlternatingGroupCharTableConstructor(valueClass);
			_cache.put(key, constructor);
		}
		return (AlternatingGroupCharTableConstructor) _cache.getValue(key);
	}

	public static <T extends INumberWrapper<? extends Number>> SymmetricGroupMapTableConstructor<T> getSymmetricTableConstructor(
			Class<T> valueClass)
	{
		String key = getKey(SYMMETRIC_KEY, valueClass);
		if (!_cache.containsKey(key))
		{
			SymmetricGroupMapTableConstructor<T> constructor = new SymmetricGroupMapTableConstructor<T>(valueClass);
			_cache.put(key, constructor);
		}
		return (SymmetricGroupMapTableConstructor<T>) _cache.getValue(key);
	}

	private static String getKey(String code, Class<? extends INumberWrapper> valueClass)
	{
		return code + valueClass.getName();
	}
	*/

}
